package com.zk.springboot.interfaces.common;

import java.util.List;

import org.springframework.context.ApplicationContext;

/**
 * 应用对象，用于模块之间方法调用
 * @author zk
 *
 */
public interface IWebModule {
	/**
	 * 模块唯一标识符
	 * @return 
	 */
	String appId();
	/**
	 * 获取模块下所有服务
	 * @return
	 */
    List<IWebService> getServiceList();
    /**
	 * 获取某个服务
	 * @return
	 */
    <T> T getService(Class<T> requiredType);
    /**
	 * 模块初始化
	 * @return
	 */
	void initModule(ApplicationContext context,IWebFrame frame);
}
